using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;


namespace ControladorDifuso.Conjunto
{
    public class EspacioDifuso
    {

        private static int numeroMuestras= 100;
        private ArrayList conjuntosDifusos;
        private decimal muestra;
        private string descripcion;
        private decimal valorMinimo;
        private decimal valorMaximo;
        public static int NumeroMuestras
        {
            get
            {
                return EspacioDifuso.numeroMuestras;
            }
            set
            {
                EspacioDifuso.numeroMuestras = value;
            }
        }

        public string Descripcion
        {
            get
            {
                return descripcion;
            }
            set
            {
                this.descripcion = value;
            }
        }

        public decimal ValorMaximo
        {
            get
            {
                return this.valorMaximo;
            }
            set
            {
                this.valorMaximo = value;
            }
        }

        public decimal ValorMinimo
        {
            get
            {
                return this.valorMinimo;
            }
            set
            {
                this.valorMinimo = value;
            }
        }

        public decimal Muestra
        {
            set
            {
                this.muestra = value;
            }
            get
            {
                return this.muestra;
            }
        }

        public ArrayList ConjuntosDifusos
        {
            get 
            {
                return this.conjuntosDifusos; 
            }
            set
            {
                this.conjuntosDifusos = value;
            }
        }

        public Decimal Pertinencia(decimal entrada)
        {
            return 0m;
        }

        public void AgregarConjunto(ConjuntoDifuso nuevo)
        {
            nuevo.EspacioDifuso = this;
            this.conjuntosDifusos.Add(nuevo);
        }

        public EspacioDifuso(string descripcion, decimal valorMinimo, decimal valorMaximo)
        {
            this.conjuntosDifusos = new ArrayList();
            this.valorMaximo = valorMaximo;
            this.valorMinimo = valorMinimo;
            this.descripcion = descripcion;
        }

        public override string ToString()
        {
            return this.Descripcion;
        }
    }
}
